package cn.itcast.mapper;

import cn.itcast.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserMapper {
    /**
     * 根据id获取用户信息
     * @param id
     * @return
     */
    User queryUserById(Long id);
    /**
     * 查询所有用户
     * @return
     */
    List<User> queryUserList();

    /**
     * 新增用户
     * @param user
     */
    void insertUser(User user);

    /**
     * 更新用户信息
     * @param user
     */
    void updateUser(User user);

    /**
     * 根据id删除用户信息
     * @param id
     */
    void deleteUserById(Long id);

    /**
     * @Param("tableName") :可以通过该注解来指定传递的参数的名称
     * @param tableName
     * @return
     */

    List<User> queryUserListByTableName(@Param("tableName") String tableName);

    User login(@Param("userName") String userName,@Param("password") String password);

    User loginMap(Map<String,String> map);

    User loginUser(User user);

    List<User> queryUserListLikeUserName(@Param("userName") String userName);
}
